當我們打開Android Studio,會發現在左邊的project視窗有專案的目錄和架構,而專案的架構分為app和Gradle Scripts兩大類
首先從app開始介紹
app
manifests:應用程式的根目錄,紀錄所使用的元件和權限
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.test">
//android:icon;App默認的圖標
//android:label;App默認的名稱
//android:theme;App默認的主題背景
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
//app進入Activity的第一個點為MainActivity
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
res:資源檔
1.drawable:存放圖片、圖示等檔案資源
2.layout:存放各類UI介面
3.mipmap:跟drawable一樣,是存放存放圖片檔案資源,但不同的是mipmap圖片存放各種解析度的相同圖片資源
4.values:存放colors、strings、styles各屬性的檔案,可先在檔案裡做設定,以便日後程式開發、修改和維護
Gradle Scripts
build.gradle(project):專案的建置設定,通常不會用到
build.gradle(Module):模組的建置設定,可以引用別人的開發套件
apply plugin: 'com.android.application'
android {
//編譯的sdk版本
compileSdkVersion 30
buildToolsVersion "30.0.0"
defaultConfig {
applicationId "com.example.myapplication"
//支援SDK的最低版本
minSdkVersion 23
targetSdkVersion 30
//app的版本號碼
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
//指定使用的library與版本號碼
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.recyclerview:recyclerview:1.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}